package com.dongjiantong.sys.service;

import com.dongjiantong.mybatis.BaseService;
import com.dongjiantong.sys.model.AnimalType;

import java.util.List;


/**
 * @author cao
 * @create 2017-11-15 下午4:33
 **/

public interface AnimalTypeService extends BaseService<AnimalType> {

    /**
     * 取系统定义的第一级动物种类
     * @param animalCode
     * @return
     */
    AnimalType getAnimalByType(Integer animalCode);

    /**
     * 查询所有畜种，树形递归
     * @param pid
     * @param regionAccountId
     * @return
     */
    List<AnimalType> queryTreeAnimalType(Long pid,Long regionAccountId);

    /**
     * 查询一级分类
     * @return
     */
    List<AnimalType> queryOneLevel();

    /**
     * 查询二级类
     * @param pid
     * @param regionAccountId
     * @return
     */
    List<AnimalType> queryTwoLevel(Long pid,Long regionAccountId);

    /**
     * 查询三级分类
     * @param pid
     * @param regionAccountId
     * @return
     */
    List<AnimalType> queryThreeLevel(Long pid,Long regionAccountId);


    /**
     * 查询二级分类
     * @param pid
     * @return
     */
    List<AnimalType> queryTwoLevel(Long pid);

    /**
     * 查询三级分类
     * @param pid
     * @return
     */
    List<AnimalType> queryThreeLevel(Long pid);


    /**
     * 以树形式查询畜种
     * @param pid
     * @return
     */
    List<AnimalType> queryTreeNode(Long pid);

    /**
     * 根据动物编号获取其下一级动物编号List
     * @param animalCode 父动物编号
     * @return
     */
    List<Integer> queryChildCode(String animalCode);

}
